package lemar.entidad;
// Generated 09-09-2013 10:52:54 PM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Reporte generated by hbm2java
 */
@Entity
@Table(name="reporte"
    ,catalog="lemar"
)
public class Reporte  implements java.io.Serializable {


     private String idRepote;
     private HistorialVenta historialVenta;
     private Inventario inventario;
     private Date fechaElaboracion;
     private String nombreReporte;
     private int tipoReporte;
     private String contenido;
     private String autor;
     private Set<Inventario> inventarios = new HashSet<Inventario>(0);
     private Set<HistorialVenta> historialVentas = new HashSet<HistorialVenta>(0);

    public Reporte() {
    }

	
    public Reporte(String idRepote, HistorialVenta historialVenta, Inventario inventario, Date fechaElaboracion, String nombreReporte, int tipoReporte, String contenido, String autor) {
        this.idRepote = idRepote;
        this.historialVenta = historialVenta;
        this.inventario = inventario;
        this.fechaElaboracion = fechaElaboracion;
        this.nombreReporte = nombreReporte;
        this.tipoReporte = tipoReporte;
        this.contenido = contenido;
        this.autor = autor;
    }
    public Reporte(String idRepote, HistorialVenta historialVenta, Inventario inventario, Date fechaElaboracion, String nombreReporte, int tipoReporte, String contenido, String autor, Set<Inventario> inventarios, Set<HistorialVenta> historialVentas) {
       this.idRepote = idRepote;
       this.historialVenta = historialVenta;
       this.inventario = inventario;
       this.fechaElaboracion = fechaElaboracion;
       this.nombreReporte = nombreReporte;
       this.tipoReporte = tipoReporte;
       this.contenido = contenido;
       this.autor = autor;
       this.inventarios = inventarios;
       this.historialVentas = historialVentas;
    }
   
     @Id 
    
    @Column(name="ID_REPOTE", unique=true, nullable=false, length=10)
    public String getIdRepote() {
        return this.idRepote;
    }
    
    public void setIdRepote(String idRepote) {
        this.idRepote = idRepote;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_HISTORIAL", nullable=false)
    public HistorialVenta getHistorialVenta() {
        return this.historialVenta;
    }
    
    public void setHistorialVenta(HistorialVenta historialVenta) {
        this.historialVenta = historialVenta;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_INVENTARIO", nullable=false)
    public Inventario getInventario() {
        return this.inventario;
    }
    
    public void setInventario(Inventario inventario) {
        this.inventario = inventario;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="FECHA_ELABORACION", nullable=false, length=10)
    public Date getFechaElaboracion() {
        return this.fechaElaboracion;
    }
    
    public void setFechaElaboracion(Date fechaElaboracion) {
        this.fechaElaboracion = fechaElaboracion;
    }
    
    @Column(name="NOMBRE_REPORTE", nullable=false, length=50)
    public String getNombreReporte() {
        return this.nombreReporte;
    }
    
    public void setNombreReporte(String nombreReporte) {
        this.nombreReporte = nombreReporte;
    }
    
    @Column(name="TIPO_REPORTE", nullable=false)
    public int getTipoReporte() {
        return this.tipoReporte;
    }
    
    public void setTipoReporte(int tipoReporte) {
        this.tipoReporte = tipoReporte;
    }
    
    @Column(name="CONTENIDO", nullable=false, length=65535)
    public String getContenido() {
        return this.contenido;
    }
    
    public void setContenido(String contenido) {
        this.contenido = contenido;
    }
    
    @Column(name="AUTOR", nullable=false, length=25)
    public String getAutor() {
        return this.autor;
    }
    
    public void setAutor(String autor) {
        this.autor = autor;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="reporte")
    public Set<Inventario> getInventarios() {
        return this.inventarios;
    }
    
    public void setInventarios(Set<Inventario> inventarios) {
        this.inventarios = inventarios;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="reporte")
    public Set<HistorialVenta> getHistorialVentas() {
        return this.historialVentas;
    }
    
    public void setHistorialVentas(Set<HistorialVenta> historialVentas) {
        this.historialVentas = historialVentas;
    }




}


